//
//  PopoverViewController.m
//  PersonalOC
//
//  Created by 韩琴 on 2018/9/3.
//  Copyright © 2018年 韩琴. All rights reserved.
//

#import "PopoverViewController.h"

@interface PopoverViewController()
/*
 1.如果不自定义转场modal出来的控制器会移除原有的控制器
 2.如果自定义转场modal出来的控制器不会移除原有的控制器
 3.如果不自定义转场modal出来的控制器的尺寸和屏幕一样
 4.如果自定义转场modal出来的控制器的尺寸我们可以自己在containerViewWillLayoutSubviews方法中控制
 5.containerView 非常重要, 容器视图, 所有modal出来的视图都是添加到containerView上的
 6.presentedView() 非常重要, 通过该方法能够拿到弹出的视图
 */


@end
@implementation PopoverViewController
- (instancetype)initWithPresentedViewController:(UIViewController *)presentedViewController presentingViewController:(UIViewController *)presentingViewController {
   self = [super initWithPresentedViewController:presentedViewController presentingViewController:presentingViewController];
    return self;
}
// 用于布局转场动画弹出的控件
- (void)containerViewWillLayoutSubviews {
    //        HQLog(message:"")
    // 设置弹出视图的尺寸
    self.presentedView.frame = self.presentFrame;
    //添加蒙版
    [self.containerView insertSubview:self.coverButton atIndex:0];
    [self.coverButton addTarget:self action:@selector(coverButtonClick:) forControlEvents:UIControlEventTouchUpInside];
}
//MARK: - 按钮点击事件
- (void)coverButtonClick:(UIButton *)sender {
    [self.presentedViewController dismissViewControllerAnimated:true completion:nil];
}
 //MARK: - 懒加载
- (UIButton *)coverButton {
    if (!_coverButton) {
        UIButton *button = [UIButton new];
        button.frame = [[UIScreen mainScreen] bounds];
        button.backgroundColor = [[UIColor alloc] initWithWhite:0.5 alpha:0.5   ];
        _coverButton = button;
    }
   
    return _coverButton;
}
@end
